package com.we.dao;

import com.we.entity.User;
import org.apache.ibatis.annotations.Param;

/**
 * user表操作dao
 */
public interface UserDao {

    /**
     * 添加用户
     * @param user
     */
    void addUser(User user);

    /**
     * 根据激活码查找用户
     * @param code
     * @return
     */
    User findUserByCode(String code);

    /**
     * 更新用户激活状态
     * @param user
     */
    void updateUserStatus(User user);

    /**
     * 根据用户名查询用户
     * @param userName
     * @return
     */
    User findUserByName(String userName);

    /**
     * 根据邮箱查询用户
     * @param email
     * @return
     */
    User findUserByEmail(String email);

    /**
     * 根据用户名和密码查询用户
     * @param userName
     * @param password
     * @return
     */
    User findUserByNameAndPws(@Param("userName") String userName, @Param("password") String password);

    /**
     * 根据用户名修改用户密码
     * @param password
     */
    int updatePwd(@Param("password") String password,@Param("userName") String userName);

    /**
     * 根据用户名修改用户信息
     * @param user1
     * @return
     */
    int updateUserById(User user1);

    /**
     * 根据用户名和邮箱修改密码
     * @param password
     * @param userName
     * @param email
     * @return
     */
    int forgetPws(@Param("password") String password, @Param("userName") String userName, @Param("email") String email);
}
